package com.gbas.mus.model;

import com.gbas.mus.model.lances.Lance;
import com.gbas.mus.model.lances.LanceDescarte;

public class FaseDescarte extends Fase {
    public FaseDescarte(Ronda ronda) {
        super(ronda);

        turnoAMano(OP_INPUT.DESCARTE);
    }

    public boolean lanceValido(Lance lance) {
        return lance instanceof LanceDescarte;
    }

    public void doLance(Lance lance) {
        LanceDescarte lanceDescarte = (LanceDescarte) lance;

        ronda.juego.vaca.partida.mazoCartas.addNaipes(lanceDescarte.getNaipesDescartados());
        ronda.juego.vaca.partida.jugarMus.accionMesa(Accion.CAMBIA_CARTAS, lanceDescarte.getJugador(), lanceDescarte.getNaipesDescartados());

        if (lances.size() == 4) {
            ronda.nuevaFase(new FaseMus(ronda));
        } else {
            turnoASiguienteJugador(lance.getJugador(), OP_INPUT.DESCARTE);
        }
    }

    public String getNombre() {
        return "Descarte";
    }

}
